from pandas import DataFrame


def run(source: DataFrame, param_dict: dict) -> DataFrame:
    columns = param_dict["columns"]
    keys = []
    sorts = []
    for element in columns:
        column = element["column"]
        sort = element["sort"]
        if str(sort).upper() == "ASC":
            sort = True
        else:
            sort = False
        keys.append(column)
        sorts.append(sort)
    source.sort_values(keys, ascending=sorts, inplace=True)
    return source
